home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MATH / SOLVEQ10.ZIP / EQDEMO.PAS next >
Pascal/Delphi Source File  |  1992-04-06  |  1KB  |  50 lines

  1.  
  2. { --------------------------------------------------------------------------
  3.                                    EQDEMO.PAS
  4.  
  5.   ---> A sample that shows how to use the EQUATION unit to solve polynomial
  6.        equations.
  7.  
  8.        (C) 1990, 1992 by Lenimar N. Andrade (CCENDM03@BRUFPB.BITNET)
  9.  
  10.   -------------------------------------------------------------------------- }
  11.  
  12. program EqDemo;
  13.  
  14. {$E+,N+,F+}
  15.  
  16. uses
  17.   Equation;
  18.  
  19. var
  20.   p: polynomial;
  21.   roots: solutions;
  22.   i, option: byte;
  23.  
  24. begin
  25.   option := 0; { quick resolution }
  26.  
  27.   Writeln;
  28.   Write('Equation''s degree (from 2 to ', MaxDegree, ' )  = ');
  29.   Readln(p.degree);
  30.   Writeln;
  31.  
  32.   Writeln('Coefficients following the decreasing powers of ''x'' : ');
  33.   for i := p.degree downto 0 do
  34.     Read(p.coef[i]);
  35.  
  36.   SolveEquation(p, option, roots);
  37.  
  38.   Writeln;
  39.   if (not roots.solved) then
  40.     Writeln('The resolution can''t be completed. I''m sorry.')
  41.   else
  42.   begin
  43.     Writeln(' #root       real part        imaginary part      used method');
  44.     Writeln('---------------------------------------------------------------');
  45.     for i := 1 to p.degree do
  46.       Writeln(i:4, roots.x[i].Re:20:10, roots.x[i].Im:20:10,
  47.                                                          roots.x[i].method:14);
  48.   end
  49. end.
  50.